package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.project.entity.Grade;
import com.project.entity.Role;

import java.util.List;


/**
 * <p>
 *  服务类
 * </p>
 *
 * @author lovo
 * @since 2023-07-21
 */
public interface RoleService extends IService<Role> {
    public IPage<Role> selectRoles(Integer pageNO);

    /**
     * 查询所有权限
     *
     * @return {@code List<Grade>}
     */
    public List<Grade> selectAllGrade();

    /**
     * 添加角色
     *
     * @param roleName  角色名
     * @param gradeList 权限集合
     * @return {@code String}
     */
    public String addRole(String roleName,List<Integer> gradeList);

    /**
     * 删除角色
     *
     * @param roleId 角色id
     */
    public void deleteRole(Integer roleId);

    /**
     * 查询角色
     *
     * @param roleId 角色id
     * @return {@code Role}
     */
    public Role selectRole(Integer roleId);

    public void updateRole(Integer roleId,List<Integer> newGrades);
}
